package com.jhclothing.product.mapper;

import java.util.List;

import com.jhclothing.product.domain.ClothingType;
import org.apache.ibatis.annotations.Param;

/**
 * 服饰品类Mapper接口
 *
 * @author zyp
 * @date 2024-04-21
 */
public interface ClothingTypeMapper {
    /**
     * 查询服饰品类
     *
     * @param clothingTypeId 服饰品类主键
     * @return 服饰品类
     */
    public ClothingType selectClothingTypeByClothingTypeId(Long clothingTypeId);

    /**
     * 查询服饰品类列表
     *
     * @param clothingType 服饰品类
     * @return 服饰品类集合
     */
    public List<ClothingType> selectClothingTypeList(ClothingType clothingType);

    /**
     * 查询服饰品类与布料信息列表
     *
     * @param clothingType 服饰品类
     * @return 布料信息集合
     */
    public List<ClothingType> selectClothingTypeListAndFabrics(ClothingType clothingType);

    /**
     * 查询所有服饰品类
     *
     * @return 服饰品类集合
     */
    public List<ClothingType> selectClothingTypeAll();

    /**
     * 新增服饰品类
     *
     * @param clothingType 服饰品类
     * @return 结果
     */
    public int insertClothingType(ClothingType clothingType);

    /**
     * 修改服饰品类
     *
     * @param clothingType 服饰品类
     * @return 结果
     */
    public int updateClothingType(ClothingType clothingType);

    /**
     * 批量删除服饰品类
     *
     * @param clothingTypeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteClothingTypeByClothingTypeIds(Long[] clothingTypeIds);

    /**
     * 校验服饰品类编码和服饰类别
     *
     * @param clothingTypeCode 服饰品类编码
     * @param clothingSex      服饰类别
     */
    public ClothingType checkClothingTypeCodeAndSexUnique(@Param("clothingTypeCode") String clothingTypeCode, @Param("clothingSex") String clothingSex);
}
